1   package uba.db.sql.language;
2   
3   import java.util.ArrayList;
4   import java.util.List;
5   
6   import junit.framework.TestCase;
7   import uba.db.testhelpers.TestUtils;
8   
9   /***
10   * @version $Revision: 1.6 $
11   */
12  public class DisplayOneColumnTest extends TestCase {
13      private DisplayOneColumn displayOneColumn;
14      private DisplayOneColumn otherDisplayOneColumn;
15      private DisplayOneColumn sameDisplayOneColumn;
16  
17      /***
18       * @see junit.framework.TestCase#setUp()
19       */
20      protected void setUp() throws Exception {
21          super.setUp();
22          displayOneColumn = new DisplayOneColumn(new TableName("A").column("c"));
23          sameDisplayOneColumn = new DisplayOneColumn(new TableName("A").column("c"));
24          otherDisplayOneColumn = new DisplayOneColumn(new ColumnName("d"));
25      }
26  
27      /***
28       * Test de igualdad entre dos instancias.
29       */
30      public void testEquals() {
31          TestUtils.assertEqualsImplementation(displayOneColumn,
32                                               sameDisplayOneColumn,
33                                               otherDisplayOneColumn);
34      }
35  
36      /***
37       * Test: agregar a una columna.
38       */
39      public void testAppendToOneColumn() {
40          DisplayColumns result = displayOneColumn.append(otherDisplayOneColumn);
41          List columns = new ArrayList();
42          columns.add(displayOneColumn);
43          columns.add(otherDisplayOneColumn);
44  
45          assertEquals(new DisplayMultipleColumns(columns), result);
46      }
47  
48      /***
49       * Test: agregar a multiples columnas.
50       */
51      public void testAppendToMultipleColumns() {
52          DisplayMultipleColumns multipleColumns = new DisplayMultipleColumns(
53                  otherDisplayOneColumn, otherDisplayOneColumn);
54          DisplayColumns result = multipleColumns.append(displayOneColumn);
55          List columns = new ArrayList();
56          columns.add(otherDisplayOneColumn);
57          columns.add(otherDisplayOneColumn);
58          columns.add(displayOneColumn);
59  
60          assertEquals(new DisplayMultipleColumns(columns), result);
61      }
62  
63      /***
64       * Test: agregar a un comodin de todas las columnas.
65       */
66      public void testAppendToAllColumns() {
67          DisplayColumns result = new DisplayAllColumns().append(displayOneColumn);
68          List columns = new ArrayList();
69          columns.add(new DisplayAllColumns());
70          columns.add(displayOneColumn);
71  
72          assertEquals(new DisplayMultipleColumns(columns), result);
73      }
74  }